Complete rework

Squashed merge of 'rework' branch.