Adding some docs and removed unsused properties and funcitons
Pre-normalizing contain() input so users can more realiably modify them,
adding some doc blocks