hashes and accepting user inputs