Completed the final version