implement Properties