Refactor around the macro definitions into 3 files. Both converter and s...

...etter support Options
can we not use a counter rather than random numbers? This will make different runs possibly fail due to the small probability of collision.