detached interface which will run in its own thread