use log package for log output and move initial connection handling to own goroutine for each connection