commands impemenation in separate class
parsers returns namedtuples for messages and errors