Major rework, getting closer to 1.0.