Adjusted According to C++ Template