more explicit property defs; seems to fix problem with mixed definitions