no major changes (pushed to clean commit options)
combined input checks into 1 method for conciseness