Finally a reflection solution I'm happy with.