Introducing some error handling/user input sanity checks etc.