pointers need to be released on up