Initial draft

The very basic framework.