document also private methods