Added in Userinput function
Fully updated with functions from me and David