Semi synchronized, needs more work