cleaned up error handling and shapes list refresh