add behavior and publish overload