Fixed many more bugs, Allows "with" constructors