refactor - separate functions to grab source or sources