added support for negative cache sizes