add deluser; refactor