Requirements: - conditions should be all type safe - a PR template should exist for other sources that want to be implemented