move getList, getMap related code to core library