added input/output semantics (no tesets)