Initial commit -- notice there are dependencies included in this commitment (simply because I did not came up with an idea how to manage them)