added test for Publisher
added interface for clarity