NEW: porthole moved to an external module