Reorganized code and implemented setuptools build process.