refactor & offer convenient url