Everything as describe 10/10