big ugly commit. implementing different resultTypes! Some of you now got work to do...