switching to message queue

message queue will be implemented for communication between interfaces
and implementations