use hook system from core lib