First try

Implemented both free and alloc