Finished the first implementation #6