fixed layout but need to work more on js behaviors