Finished Input callbacks
did some expirimentation