Mostly works. Need to clean up for corner cases.