Added abstract model and extended request