another rust solution