Abstract method for CPP