more effective solution