files restructured, api shrunk to managable again