streamline constructor arguments for better performance