improve error handling
add setup.py