add parsing of blog posts and some refactoring