a lot of changes about layout.