reworked yet again