Add interface for create/free
Add implementation of free