character controller
clean code