recommit for comms. refactored a lot