use setup/teardown methods
added a monitor and fixed some stuff