new documentation added, changed some method signatures