everything upto communication controller