working version. needs to read user input