properties defaults to an empty object