move Url constructor into AbstractUrl