changed some types to void*
get addr implemented