major modification better handling of timeouts
project is configured through header files. Better handling of timeout and connection errors