mostly working now, a few edge cases left. will also continue to work on performance.