use boxlayout instead