added function declarations