helper modified && TODO updated