move base baviours into base class