constructor needs name