accept server instance as an option, so it may intergrate with other application