Add in assertions of function parameters.
Implement the release method plus tests.