core functions for definition statements (part 1)