Added better documentation and QOL changes