why invoke create()?