Refactoring

Changed most of the functions to better allow new options as hint and concede (they are also implemented)