using executers
finished restructuring