implement invade