Major rework, documentation near complete