add more concise solution