collecting multiple possible solutions. not exhaustive.