refactor due to ez_new etc