refactors describe()