adding my version of Semant.java