Make channels unbuffered
Use pointer
Adds json annotations to struct