add threaded messaging, fix the text box to only display after the end of thread, write helper method to generate user urls