remodelled the whole approach