added objects and prototyping