optional object properties come for free