library transactions good enough for now