feat(properties): support properties