possible final version

will try to add to main branch