added source class and the ability to swap out {x} values