added more functionality, moved stuff to comms