added more semantic checkings