finished, need final go at comments