some changes to interfaces, lev_routine, etc