changed createTransaction to public