minor refactoring && added ObjectUtil