actually poll the queue properly. won't lock the main thread anymore.
fix equals method... although it's not being used at this point. it was because i was going to add a remove function