I finished many functions on semantic part.