better if const parameter
better if these are const pointers