add list blog and fix some repeated code