minor style note: these two private methods make more sense right under the constructor