adds pip requirements to project. updates code documentation across the board. makes small fixes here and there.