Type checker and validation added