moved category accessor/method meat into private methods