i guess we can use plain old malloc, free, memcpy, memset, etc