fix for dynamic dispatch