refactor and yak-shave