finished code, pending text