adding a parser for better control of expressions in effects
updated effect handling with parser