bug fixes, updating stuff to conform with interfaces