add some explainations