Add comments
Many fixes