update: refactor similar controller + last fm class