Reworked character controller.