Everything you are looking for and so much more