making my own rudimentary boilerplate