Currently we work with a linear unidirectional freelist, which makes it quite hard to find an element of appropriate size in case we deallocated a lot of small fragmented objects.