Add some required internal mechanics