added stuff which may now be wrong