threw in a few "restrict" keywords