refactored to have o1 unshift and merged get and set
pop now correctly updating length
added additional tests
added each and returnArray