refactor play scanner and add new methods