added implementation for threelayer particle