move
factor out blend