allow constructor without new