Added some better input code, that is about it