refactoring, added missing sources