add comments ;sortout code