rewrote a lot of functions in Combine to accomodate new structure. Still some issues