still room for improvement with movement and probably a lot of routing that can be optimized, i'm not sure of the trigger requirements to make events happen