all done except special allocation strategy
added heap sort [not working] and cleanup