Completed Version 1.