added copy constructor, getLength, and size
??