better structure & build