cleaner and more integrated fix