changed u64 to uint to reflect a wider range of operable types