Refactors Some Methods, adds Documentation