Proper use of constructor fns