implements #26