First commit, Scalar program, need to abstract