updated preliminary with extra help