I'll clean this implementation, and will only remain the 'OpenExternal' method.