wrong no. args to Errorf (go vet)
copy marvin object fully so we can reuse update() method