ported to ionic