extended to have an almost infinite flexibility