improved prototyping