Add parameter validation.
Fix parameter bug.
Split method.