avoid using url module