Diffusion of metal adatom on compact metal surfaces in the presence of defects and impurities