implementing novel algorithms in ESM3