updated with partial comments