experimental implementation of #105