inittial interface and converson code, still lots to do