should be private method