added empty use case
added amazing solver
made seed injectable
made type generic