can now support levels of different size