make sure we have something to do before entering synchronized block
clarify what the public url is