working
basic structure done