fixed/finished class implementations