big update to the basic branch
Update after merge