Added saving
Refractored for new methods
getInput()