add func take and doit