how to solve complicated circuits