- simplified by just having service (this runs on main thread, should be ok and can be changed later if needed)