Added service pattern