add hardTabSize setting, change util methods