add implementation of function