Issues 7 Polishing and restructuring

See related issue #7