add puzzle generator