moves code around to have BaseAdapter be an object