optimize. also easier to override url