Add queue implementation & unit tests