Alot of changes
fixed merge conflicts