Redo layout, make it a real shared library