updated private method