add try finally to Source close