Putting everything together...