fixing final bugs, C semantics is ready