Contributed by CAST
Contributed by Matthijs Sluiter
Contributed by Travis Kochel
Contributed by Alessio D'Ellena