cleaning up main declaration, no throwing, no warning supressions