refactored some promises and made talk able to be edited