~# added setup and teardown for centralize init and destruction method