completed basic blog functionality