restructuring
fix build