add take function