added a utility print function
made some corrections to numbers
still cannot deallocate for some reason, think it has to do with the (void*) cast in get_memory