custom blog solution followed from an example