changed some fields to be initialized out of the constructor and create consistency