made the transaction stuff a shared based class