14th - Rewrite and restructure

Separated "shared" source from "working" source for easier source
updating across projects.