refactor, commenting, add cannot upgrade class