Updated with constructors