More elegant approach