refactor cor methods