add PRowSetting protocol and API functions
implement and test row setting
remove superflouous code
allow row setting, fix mutable setter bug