functionality completed, almost all testing done

need to refactor and go through A2 checklist