refactoring of promises, fixing --force and --exit and added underscore