# How to replace a core package (elm/url) with a fork?

**URL:** <https://discourse.elm-lang.org/t/how-to-replace-a-core-package-elm-url-with-a-fork/4161>\
**Category:** Learn\
**Created:** [August 14, 2019, 8:40am UTC](https://discourse.elm-lang.org/t/how-to-replace-a-core-package-elm-url-with-a-fork/4161 "2019-08-14T08:40:05Z")\
**Posts on this page:** 1\
**Showing post:** 18

<div class="post-metadata">

**Author:** ![evancz](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/evancz/32/16_2.png) [@evancz](https://discourse.elm-lang.org/u/evancz)\
**Post date:** [August 19, 2019, 4:04pm UTC](https://discourse.elm-lang.org/t/how-to-replace-a-core-package-elm-url-with-a-fork/4161/18 "2019-08-19T16:04:00Z")

</div>

Given what I am reading, it sounds like the best path is to create a `USER/url` that depends on `elm/url` and reexports everything except for the functions you want to change.

As noted earlier, the function in question is a pure function, so you can the define it however you want.

I would like to fix this, but there are a great deal of projects going on right now that make it hard for core team folks to look into this right this second. Steps I’ll need to do are (1) verify with standards the behavior and (2) figure out if this is a MAJOR change. I also am trying to do 0.19.1 and unblock some work in elm/core. I understand that it’s frustrating that things that look easy can actually be very difficult in practice.

I hope that the solution I mention here (i.e. a `USER/url` package with re-exports) is the path you will take for now.

---

_[View the full topic](https://discourse.elm-lang.org/t/how-to-replace-a-core-package-elm-url-with-a-fork/4161)._
