Towards a smarter hybrid energy storage system based on battery and ultracapacitor - A critical review on topology and energy management