added transaction validation functionality