[update] cleanup and documented the userinput