added query to echonest API + some refactoring