pointer stuffs and other