minor code organize, add canRefresh/Create/Delete