public void setName(String name) throws IllegalArgumentException {
        if(!name.matches(NAME_PATTERN) || name.length() < 3 || name.length() > 45) throw new IllegalArgumentException("Invalid name");

        this.name = name;
    }