*** REMODELING ***  for core library