Major changes including generalized parser