some refactoring, adding credits