starting with graphs and priority queues