use a queue to collect errors :(