parse logic in place