ads a prompter + refactor