adds a needlessly large amount of user prompting code. oh well