refined posts abstractions and updated example