several modal refactorings