make Q more like Vue