better handling of limits, they should now always be accurate.