getting to work on the actual implementation...  still loads to do