add post type of design pattern