use helper to optimize layout