phase 1 refactor of result structure