initial commit with boilerplate code and structure