Add free-standing function