charge class clean up; density prototype