Add Guard
Implement basic publishing functionality