far more better parsing, catched exceptions, more feedback to user's input, cleaner code, big ones sliced to more little funcs