broken, adopting a reverse engineering approach