added base adapter