cleanup refacto