We build a comprehensive macro-learning system and contribute in three different dimensions that have previously not been addressed adequately. Firstly, we learn macro-sets considering implicitly the interactions between constituent macros. Secondly, we effectively learn macros that are not found in given example plans. Lastly, we improve or reduce degradation of plan-length when macros are used; note, our main objective is to achieve fast planning. Our macro-learning system significantly outperforms a very recent macro-learning method both in solution speed and plan length.