i've no experience at subclassing but will give this a try.