change construction semantics