Very first version. Function is working and some documentation is given