added message service and tests