ready for review, added final corrections and fixed tests for both transactional and non transactional