WIP: most tests passing
sources and new source work with new compat layer, but need to do rest of nits from panos