new post modified OOP