copying example code
new structure
fixing conflicts