working making new instances of everything per request