Cleaned up code to reduce surface area for bugs
Adding CPP language wrapper
Python C lib wrapper