sync method now returns future