adding some functionality. Much to do here.