Max and min number of levels can be defined by the user