added more comments, split setup function in own cpp file