initial extraction from personal Marlin branch to this new stand-alone repo