need to refactor Take, Drop, and index | got started on that