First complete version
Added philosophy