Added constructors and prototypes