added dynamic setter interface