properties is a dict now