two 'helper' methods