add some documentation
refactoring the specs loading into his own class