improved the DottedDecimalIp object and refactored a lot of code