current implementation from core