Redesign

Fixes #9 
Fixes #28 
Fixes #40