particles removed (maybe move to extra repo)
refactoring