do not want to extend init and trans each time