layout mostly done