updated to make more concise