moving conversation to new file and decoupling from globals