adds invalidateLayout