updated to fix deprecated register issue, added flag to compilation...at least until the register keyword is done away with entirely