improve core & base decorator