moved public methods at first