added diffuse functions in parser