modeling the service finally
refectoring some
modeling