#1, #2, #3 Completed