added constructor and destructor specifications
added constructor and destructor implementation
add const to appropriate functions