allow calling without new