trying to improve performace by reducing requestLayout() calls