Adding role, inheritance, documentation

And I also added the search_song method