improved ObjectUtils class