moved to async mode, added timeouts...