new error handling
new country functions