this should go before protected methods