cleanup
freelist implemented, more tests