added init and finalization stuff -- wow. Our grammar is like the fucking lost world or something.