improved structure, added examples in /src