custom ctors work