crude, but functional, tx class