Still not quite working as goroutine, but close