Adjusted constructor