modified
rewrote queue to follow assignment guidelines
moved "top" variable to the implementation out of the BaseCollection