Better input validation :D

Program won't blow up as easily when the user enters invalid data :D