initial progress on #301