- task : rewrite layout in topview, use preferred size