create an abstract class for base action method