reduced constructor scope