fixing lazy semantics