working numbers but have to call invalidateLayout 2x