Merged all changes to Kekulean.py from multiple sources