worked a bit on semantics