Queue

Implemented most of queue, left todo's on everything that needs to throw
exceptions