some additional reworkign