refactor and move examples around