better validation support and pypi support