Collected knowledge for myself and anyone interested