improve post model