refactoring print methods to execute recursively
refactoring specs: replacing old matchers by semantic ones
creating spec for linked queues