program relocation