Refactoring, added particles and utility classes