width based on superview, and move layout code