unneccesary class -> struct
add some codes writen in cpp