Move new's into private methods
Add more tests