primary file setup. socket initiation and listening in seperate functions