refacting due to ez_new() etc