moved result related methods and data structures to ResultSinglton