structure
updated boilerplate