Why would there be two different public constructors?