most of legacy stuff done