implement several properties