changed the order of initialization of constructor members to prevent warning and made one construyctor explicit also the avoid a warning