updated syntax / semantics