CPK Refactoring, still in progress