heap and non-heap usage