adding editing and publishing functionality