add take, drop, shuffle