working malloc (first+best fit), free and realloc