@sirrius: My proposed solution