full functionality not quite there yet. running it again