Add some interfaces and classes, and some compiler stuff