New constructors to give more information flow options.