user-side layout finally done