fix up interfaces in BaseAdapter