refactor error handling

refactored error handling to properly display stack traces via log4j
refactored to use file.separator property for better platform
independence