put island code into new component