this is better solution