completed so far

did not refactor but complete otherwise