all code implemented. still untested. have concerns.