Begin rewrite of comm (not working yet)