updated. lots to fix still