reworking player input