result reorg wip
refactor result to unify error classes and errors