Move APIs to external jars

+ more work on research