heap-based memory allocation