Building better programs