added offline module and queue; part way through sorting spots async