Any tree with n vertices is conjectured to be graceful if its vertices can be labeled using integers 0, 1, · · · , n − 1 such that each vertex label as well as the corresponding edge label is distinct throughout the tree. There has been multiple attempts with different approaches to prove this conjecture but it remains the same. Here we will discuss the methods used to solve this problem along with two new classes of graceful tree and some applications of it.