cleanup, better structure