theme: better sub-classing