added implementation files - needs testing
added tests for message module