pre-alpha 0.3.0, massive rewrite of everything