Cleaner first pass, not working yet