First commit. Can create a single segment...
Just some refactoring