first basic structure
some major changes but nothing working yet