for clear code