refactor, remove reset, use parseRest