documenting, testing, extra functions