add char
add function declaration
add philosophy