i thought i'd do it like the Sync function. inherited classes can do stuff in the same thread