compilers don't like when the default value type doesn't match the type of the property