Rough version

The basic blocks are in there.