Do we need all of these public methods?