fills out classes according to spec