refactored the movement code to be more component based, added a jump/roll feature