[finished] All functions are implemented and compiled, given test is passed, an own test is implemented