preparation for mirrorhelpers and abstraction!