support nested properties, close #5