broken compiler needs extra function