initial commit with many changes