add queue support to Swift