changed to call several procedures in seperate goroutines