All functions working with many comments and test code available