concept check for constructors