complete blog functions