add more tests and add newify