complete and functional