v0.1.1 Bulk of work for refactor