Update method signatures and docs.  Simplify logic