Added basic skeleton.

Doesn't work but has TODOs describing what we should do.