put everything together.