Added optional configuration file
Added tests