Add music search and refactor