refactor, separate queues, etc.