nagyjából kész megoldás