add __call to abstract model