pruned constructors