use the latest implementation by Amina