implemented relocation