still broken but changing transaction paradigm