Address issues with AMD initialisation and added some extensibility