Implement by function programing style.