refacto: stable version