putting everything together