added one more algorithm top-down approach