new queue implementation
replacing pair with type for operation result
and removed operation result...
Refactoring