heap and stack