additional function declarations