most of what we need. Will need another macro I think