Refactored: there is now a runtime.h, not just .c