Transactional properties are added and some refactoring