unable to dual inherit, so copy-pasta to move forward for now