Compiles again, interfaces extend prototype where required
Started plugging in the actual code