Initial commit by extracting boilerplate into separate project