Much better solution