started on reverse nodes special cases stuff