take implemented