Transaction

Adding the basis for transactions
Moving to a proper package setup