compilation, abstract updatated