decoupled functions from core parsing module