completed w/o comments