plotting fully functional