add support to multiple types of url