Although I haven’t used this personally you are probably looking at a plugin like this
Seems to provide all the functionality you have requested above.
Although I haven’t used this personally you are probably looking at a plugin like this
Seems to provide all the functionality you have requested above.