api clean up, adding support for rollup sources, more tests as well.