add __main__ check