restructure should work better