This puzzle can be made more interesting in a number of ways. Some ideas have been listed here. You are encouraged to add more features of your own as well:
Allow removal of pieces from
puzzleContainer
topieceBox
Take a rectangular image where number of columns and rows are different
Add a countdown timer to check how long the user took to finish the puzzle
Display three to four images to users and allow them to select one image to be used with the puzzle