clean code
add mode