relocate functions