Author: Vuillermoz, GEmile Smolian, Steven.