*** IMPORTANT ***
This is a study case, which means that no special effort will be made to provide stability, but rather untested, buggy code. Never use this code on production environment. This also means that this software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.