Refactor vinyl

ping @vvakame