service loader example modifed