refactor and normal count