Add base block.

- Also makes base types abstract