name is optional so you can set it later