add transaction tests and secury tests