refactor & url