added comments and changed defaults on generated initializer