added more semantics and fixed languages