leave implemented