added implementation for three layer particle