working on messaging abstraction
commiting changes