Adding Pimple and refactoring