difference functions finished... for now