relocated functions