it's supposed to allow linear programming in an async style