correct BaseAdapter implementation