reimplemented controller input