try breaking more stuff out to a server