modified boilerplate for my personal use