insert method is changed a little bit
auto