different approaches added