optimized take and drop to use view