1. auto create key
2. improvement on create