user definable variables
improving error handling