self-contained prompt changing