Added partial puzzle and re-factored out using tile-function