Cleaner syntax by Allan