added better physics and player movement