upvote
There are open source libraries even for that sort of thing.
reply