refactored result objects