Completed provided skeleton.