basic async service working, with tests