restructing because grr JS