This repository contains code suitable for many scenarios