testing and prototyping