Based on https://github.com/microelly2/reconstruction/issues/2#issuecomment-808788245
Based on microelly2/reconstruction#2 (comment)