Cleaned up, so semantics are usable again