only create random products that are solvable + some style changes