changed some constructor arguments to be more explicit