the function should be annouced in h file