First try on semantic tree