renamed abstract adapter class