clean and commentary
add message system + check error