unfinished changes

unfinished