completely changed some terminology/grammar and updated documentation