Split single file into multiple, added comments, added XInput class