more dependency injection
combine auth user and follow packages

all of the packages were dependent on each other, which indicated that
the code was not segregated properly.  will segregate packages after
writing tests and a better approach is more clear.