initial commit and base structure