todo de semantic checking