some refactoring, no more require for now, examples folder for simplicity