Updated versions of these classes (temporarily stored for now).