prepare for master refactorization