First *real* commit

Big overhaul of design from scratch.