kirillov Can refactoring