please document public methods