finished p94, but maybe bugs