adapted to class concept
fix limit