Simpler and more effective free space allocation
Minor
Off by one error