adressed CR feedback, use switch+property set instead of indexer