Intermediate commit

way too many changes