now support all 3 libs