this is still not optimal of course. But that is work for a different patch