Faster versions