fixed some semantics