Fleshed out implementation.
Whoops; forgot to declare destructor.