added more verifications and more tests