improvement on allocation meachanism