basic setup of the entire project