Clean up; particle code now pulled out separately