add post: module pattern