alternative approach to fixing GetValue() bug