version 0.5:
Major refactor to architecture.