Working in progres, add some gems, refactor