added working executable, and basic input error handling