better modulo function
stuff