restructed basic setup