adapt to fluid layout