recreacted all functions, how it should be ;-)
though.....they still need some validation