clean up, semantics mistakes