smarter class for parse result