exposed public methods