this implements #104