Updated with Sebastian's suggestions.