Simpler implementation