Moved generic bits to a super class