puzzle simulation