feature complete but maybe not working