consolidating property implementations