Restructuring

re-restructuring using blueprints
Merge branch 're-structuring'