added documentation, fixed off by 1 error in max level calculation