better solution