major directory refactoring: src (pre-build), public (built for deployment)