Initial implementation of #7 (spoiler) [ci skip]