seperate doto and return value