added support for 2 way comm