In validate_subnet: str.split second parameter is how many split can be done, not number of items returned
using list comprehension instead of map